
Page({
  /**
   * 页面的初始数据
   */
  data: {
    allCheck: false,//全选的状态
    cartData: [

    ],//购物车的数据
    allPrice: 0,//总价
    allNum: 0,//总数量
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    // 已进入页面就获取本地购物车数据
    this.setData({
      cartData: wx.getStorageSync('cartData') || []
    })
    this.allPriceFn()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    //  已进入页面就获取本地购物车数据
    this.setData({
      cartData: wx.getStorageSync('cartData') || []
    })
    this.allPriceFn()
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  // 已进入页面就获取本地购物车数据
  this.setData({
    cartData: wx.getStorageSync('cartData') || []
  })
  this.allPriceFn()
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

    setTimeout(() => {
      wx.stopPullDownRefresh()
      this.data.cartData = wx.getStorageSync("cartData") || [];
      this.setData({
        cartData: this.data.cartData
      })
      wx.showToast({
        title: "刷新了"
      })
    }, 1000);

  },
  // 步进器的数量改变事件
  onChange(e: any) {
    console.log(e.currentTarget.dataset.id);
    // console.log(e.detail);
    let _index = this.data.cartData.findIndex((item: any) => item.id == e.currentTarget.dataset.id)
    this.data.cartData[_index].num = e.detail;
    this.setData({
      cartData: this.data.cartData
    })
    this.allPriceFn()

  },
  // 小复选框的改变事件
  smallChange(e: any) {
    // console.log(e.currentTarget.dataset.id);
    let _index = this.data.cartData.findIndex((item: any) => item.id == e.currentTarget.dataset.id)
    this.data.cartData[_index].check = !this.data.cartData[_index].check;
    this.data.allCheck = this.data.cartData.every((item: any) => item.check)
    this.setData({
      allCheck: this.data.allCheck,
      // cartData:this.data.cartData
    })
    this.allPriceFn()
  },
  // 全选的改变事件
  allChange(e: any) {
    this.data.allCheck = !this.data.allCheck;

    if (!this.data.cartData.length) {
      return wx.showToast({
        title: "请先加入购物车"
      });
    }
    this.data.cartData.forEach((item: any) => {
      item.check = this.data.allCheck
    })
    this.setData({
      cartData: this.data.cartData,
      allCheck: this.data.allCheck
    })
    this.allPriceFn()
  },
  // 点击删除的事件
  right(e: any) {
    console.log(e.currentTarget.dataset.id);
    let _index = this.data.cartData.findIndex((item: any) => item.id == e.currentTarget.dataset.id)
    this.data.cartData.splice(_index, 1)
    this.setData({
      cartData: this.data.cartData
    })
    wx.setStorageSync("cartData", this.data.cartData)
    this.allPriceFn()
  },
  // 总价格的函数
  allPriceFn() {
    let price = 0;
    let num = 0;
    this.data.cartData.forEach((item: any) => {
      if (item.check) {
        price += item.price * item.num;
        num += item.num;
      }
    })
    this.data.allPrice = price.toFixed(2);
    this.setData({
      allPrice: this.data.allPrice,
      allNum: num
    })
  },
  // 点击跳到首页
  toHome() {
    wx.switchTab({
      url: "/pages/index/index"
    })
  },
  // 点击结算跳订单
  toOrder() {
    console.log('我是结算按钮');
    let orderList: Array<any> = [];//传到订单页面的数据
    this.data.cartData.forEach((item: any) => {
      if (item.check) {
        orderList.push(item)
      }
    })
    console.log(orderList);
    wx.navigateTo({
      url:`/pages/order/order?obj=${JSON.stringify(orderList)}`
    })
  },


  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})